Fix use after free and calls to operator comma in debug mode git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@232703 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/list b/include/list index 13e1199..c1a7a18 100644 --- a/include/list +++ b/include/list
@@ -1480,7 +1480,7 @@ try { #endif // _LIBCPP_NO_EXCEPTIONS - for (++__f; __f != __l; ++__f, ++__e, ++__ds) + for (++__f; __f != __l; ++__f, (void) ++__e, (void) ++__ds) { __hold.reset(__node_alloc_traits::allocate(__na, 1)); __node_alloc_traits::construct(__na, _VSTD::addressof(__hold->__value_), *__f);
diff --git a/src/debug.cpp b/src/debug.cpp index 60694a3..b1a16e6 100644 --- a/src/debug.cpp +++ b/src/debug.cpp
@@ -214,10 +214,10 @@ else q->__next_ = p->__next_; __c_node* c = p->__c_; - free(p); --__isz_; if (c != nullptr) c->__remove(p); + free(p); } } }